Weekly Assignment

Project Development

In this final week of Fab Academy, the goal is to develop a plan for dissemination of my final project,
prepare drafts of your summary slide and video clip and put them in your root directory.

What is my project?

Hospital is injecting saline or Intravenous (IV) fluids in to the vein of patient. If the drip system is not monitored on time, it will causes problems like backflow of fluid, blood loss etc. In order to reduce the workload and overcome such critical situation in the area of an intravenous drip monitoring system, we proposed a system called Automated Intravenous Drip Monitoring System. Collapse Inefficient monitoring of IV drop leads to complications such as under Infusion, blood backflow, over infusion, air embolism Normally, doctors and nurses use their experience to estimate the time required for a drip bottle to be empty and for setting drip rate. This makes the IV infusion method to be vulnerable to human error and there are also other risks like back flow of the blood and many other if not attended when empty. IoT (Internet of Things) based monitoring and control platform for IV infusion setup which enables doctors and nurses to monitor as well as control the IV infusion setup wirelessly while keeping the cost low and making the device highly reliable


Project Planning

No 
Task 
Start Date
End date
1
Input device
June 25
June 29
2
Output devices
July 1
July 3
3
Programing for IOT
July 4
July 7
4
IOT testing and interfacing
July 8
July 9
5
3D designing
July 10
July 12
4
3D printing
July 12
July 13
5
PCB Designing
July 13
July 17
6
PCB milling
July 17
July 18
7
PCB Soldering
July 18
July 19
8
PCB testing
July 19
July 22
9
Assembling
July 22
July 23
10
Programming
July 23
July26
11
Testing
July 26
July 28
12
Video editing
July 28
July 28
13
Designing Final slide
July 28
July 29
14
Remote instructor review
July 29
July 30
15
Upload to Git
July 30
July 30
16
Final Presentation
Aug 2


I and my family  get infected with Covid 19 in last week of May.By the God grace me and my family  were recovered from covid but it was too much weak and pain  to site and walk after  recover .So i was get worried about that my fab instructor Mr sibu support morally for this fab academy. Due to lock down and my almost all staff of my office were infected so it was also shutdown for two week. At last   In month of July i planed and worked hard to complete my final project


Here is the work for project development that I had done so far:

1.Principles and Practices

In this week I had proposed my initial idea to build IoT BASED IV DRIP MONITORING

The project idea defined helped me to provide a direction to plan and complete the project.


Did it work: Yes

             I defined my project idea which was useful for me 

The units/segments for the system.

  1. Photo transistor and leaser 

It is used for detection of drip flow through the drip chamber.

  1. Processor and RF module 

It used for programming and Wi-Fi transmission of data to web .

  1. LCD 

It is used for the display the drip factor, drip count, weight of the IV bottle in real time

  1. Actuator using servo

It is used for the controlling /stop the drip flow.

  1. Load cell

It is used for measuring the initial weight of the IV bag. Also use for measuring the real-time weight

  1. Web and mobile application

Remotely monitoring of IV bottle status.

    7. Power supply

charging module and Battery


2.3D designing

In 3D designing i learnt which help me for my project 3D designing I did designing of Encloser for Board and circuit,DRIP chamber holder,actuator for servo motor holder,

After designing all the part here is the Final 3D Print

Did it work: Yes

             I was using solid works tool for designing all parts  

3.PCB designing

In PCB designing i has design PCB with taking reference in the WEEK-6-Electronic Design. i am using foot print of Nodemcu,Loadcell ADC and other component.

Did it work: Yes

             I was using eagle tool for designing all parts  

4.Input

In the WEEK-10-Input Devices I had prepared and tested for my project

week-10 input devices

Did it work: Yes

             i was using Phototransiter as input  

5.output

In the WEEK-12-Output Devices i had been tested and did out for my project

WEEK-12-Output Devices.html

Did it work: Yes

             i was using OLED,Loadcell,LED,Buzzer as output  

6.Programming

In this week I had proposed my initial idea to build IoT BASED IV DRIP MONITORING

#include<ESP8266WiFi.h>
#include<WiFiClient.h>
#include<ESP8266WebServer.h>
#include <Wire.h>  
#include <Servo.h>
#define BLYNK_PRINT Serial
#include <BlynkSimpleEsp8266.h>        
#include "SH1106.h"
#include "HX711.h"
#define DOUT  D5
#define CLK  D6
HX711 scale(DOUT, CLK);
int time1=0;
float weight=0.0;
float calibration_factor = 419640;
 
//dripsensor
int a = 0;
int count=0;
int laserpin = D4;
int drip=0;

//oled
#define OLED_RESET -1

SH1106 display(0x3c, D2, D1);  

//servo
Servo servo_1; // Giving name to servo.

//website-wifi
String page = "";
const char* ssid="wifi ssid";
const char* password = "wifi password";

ESP8266WebServer server(80);
// Variable to store the HTTP request
int ml=0;
int count2=0;
int l_value=0;
int c_value=0;
int c_state=0;
int l_state=0;

//char auth[ ] = " blynk credential";

// Your WiFi credentials.
// Set password to "" for open networks.



void setup()
{
ESP.wdtEnable(65535);
Blynk.begin(auth, ssid1, pass1);
pinMode (laserpin,OUTPUT);
pinMode(A0,INPUT);
Serial.begin(115200);
digitalWrite(laserpin,HIGH);
 //scale.set_scale();
 //scale.tare();

//BUZZER & LED
pinMode (D7,OUTPUT);
pinMode (D8,OUTPUT);
digitalWrite (D7,LOW);
digitalWrite (D8,LOW);

//Servo

servo_1.attach(D3); // Attaching Servo to D3
servo_1.write (120); // Servo will move to 45 degree angle.

//OLED
display.init();
display.flipScreenVertically();


//WIFI
  Serial.println("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
    display.println("WiFi connecting...          ");
   
  }
 
 
  Serial.println("");
  Serial.println("WiFi connected..!");
  Serial.print("Got IP: ");  
  Serial.println(WiFi.localIP());
 
 
  server.on("/", []()
  {
    page = "<html><head><title>IOT based IV Dripmonitoring </title>";
    page += "</head><style type=\"text/css\">table {border-collapse: collapse;";
    page += "}table, th, td {border: 1px solid black;font-size: larger;";
    page += "text-align:center;}</style><body><center><h1>FABLAB,STPI-Bhubaneswar";
    page += "Design</h1><h3>IOT BASED IV Drip MONITORING</h3><br>";
    //page += "<h5>Name Of Patient:-</h5><br>";
    //page += "<h5>Hospital bed no:-101</h5><br>";
    page += "</h1><h3>DRIP FACTOR = 20</h3><br>";
    page += "<table style=\"width: 600px;height: 250px;\"><tr><th>IV DRIP</th";
    page += "><th> DRIP COUNT</th></tr><tr><td>TOTAL</td><td>" + String(drip) + "</td></tr><tr>";
    page += "<table style=\"width: 600px;height: 250px;\"><tr><th>  volume</th";
    page += "><th>IV Amount</th></tr><tr><td>ml</td><td>" + String(ml) + "</td></tr><tr>";
    page += "<meta http-equiv=\"refresh\" content=\"5\">";
    server.send(200, "text/html", page);
  });

   server.begin();
   Serial.println("HTTP server started");
   weight_sense();
   ml=weight*1000;
   Serial.print(ml);
}


void loop()
{

  int x ;
  x=analogRead(A0);
   if (x>=75 && a==0)
   {
    a=1;
   }
   else if (x<75 && a==1)
        {
          a=0;
          drip++;
        }

count2=drip/20;
c_state=count2;
if(l_state!=c_state)
{
ml=ml-count2;
}
l_state=c_state;
count2=0;

Serial.println(x);
display.setFont(ArialMT_Plain_10);
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.drawString(0,10, "IOT BASED DRIPMONITOR");
display.drawString(0,20, "Dripfactor = 20");
display.drawString(0,30, "Dripcount:"+String(drip));
display.drawString(0,40, "MilliLitre:"+String(ml));
display.display();
Blynk.virtualWrite(V1,drip);
Blynk.virtualWrite(V2,ml);

  if (ml<=50)

 {
 servo_1.write (80); // Servo will move to 45 degree angle.
 digitalWrite (D7,HIGH);
 digitalWrite (D8,HIGH);
  }
 server.handleClient();
 delay(1);
 display.clear();
 Blynk.run();
}

float weight_sense()
{
  scale.set_scale(calibration_factor);
  weight = scale.get_units();
  weight=abs(weight);
  return weight;
}

7.Interfacing

In the WEEK-14-Interface and Application Programming i did bylnk and web interfacing for my project

WEEK-14-Interface and Application Programming

Project Presentation


Final Project slide


Final Project video


Click to download the files :

download

Resources:-